package com.cloud.configure;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

@Configuration
@Data
public class RocketMqProperties {

    /**
     * RocketMQ 服务端地址
     */
    @Value("${rocket_mq.host_url}")
    private String hostUrl;

    /**
     * RocketMQ连接账户
     */
    @Value("${rocket_mq.account:}")
    private String account;

    /**
     * RocketMQ连接密码
     */
    @Value("${rocket_mq.password:}")
    private String password;

    /**
     * 生产者组
     */
    @Value("${rocket_mq.producer_group}")
    private String producerGroup;

    /**
     * 设置消费线程数最小取值范围,默认是20
     */
    @Value("${rocket_mq.consume.thread_min}")
    private int threadMin;

    /**
     * 设置消费线程数最大取值范围,默认是64
     */
    @Value("${rocket_mq.consume.thread_max}")
    private int threadMax;

    /**
     * 消费者去broker拉取消息时,一次拉取多少条。
     * 取值范围:[1, 1024],默认是32
     */
    @Value("${rocket_mq.consume.pull_batch_size}")
    private int pullBatchSize;

    /**
     * 设置消费最大重试次数,默认是16次
     */
    @Value("${rocket_mq.consume.max_reconsume_times}")
    private int maxReconsumeTimes;

}
